<!DOCTYPE html>
<html>

<head>
  <title>Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking...</title>
  <script id="adobe_dtm" src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
  <script src="/assets/javascript/highlight.pack.js" type="text/javascript"></script>
  <META HTTP-EQUIV='Content-Security-Policy' CONTENT="default-src 'none'; script-src 'self' 'unsafe-eval' 'sha256-ANpuoVzuSex6VhqpYgsG25OHWVA1I+F6aGU04LoI+5s=' 'sha256-ipy9P/3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w=' js.bizographics.com https://www.redhat.com assets.adobedtm.com jsonip.com https://ajax.googleapis.com https://www.googletagmanager.com https://www.google-analytics.com https://use.fontawesome.com; style-src 'self' https://fonts.googleapis.com https://use.fontawesome.com; img-src 'self' *; media-src 'self' ; frame-src https://www.googletagmanager.com https://www.youtube.com; frame-ancestors 'none'; base-uri 'none'; object-src 'none'; form-action 'none'; font-src 'self' https://use.fontawesome.com https://fonts.gstatic.com;">
  <META HTTP-EQUIV='X-Frame-Options' CONTENT="DENY">
  <META HTTP-EQUIV='X-XSS-Protection' CONTENT="1; mode=block">
  <META HTTP-EQUIV='X-Content-Type-Options' CONTENT="nosniff">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Quarkus: Supersonic Subatomic Java">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@QuarkusIO"> 
  <meta name="twitter:creator" content="@QuarkusIO">
  <meta property="og:url" content="https://quarkus.io/blog/quarkus-1-4-final-released/" />
  <meta property="og:title" content="Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking..." />
  <meta property="og:description" content="Quarkus: Supersonic Subatomic Java" />
  <meta property="og:image" content="/assets/images/quarkus_card.png" />
  <link rel="canonical" href="https://quarkus.io/blog/quarkus-1-4-final-released/">
  <link rel="shortcut icon" type="image/png" href="/favicon.ico" >
  <link rel="stylesheet" href="https://quarkus.io/guides/stylesheet/config.css" />
  <link rel="stylesheet" href="/assets/css/main.css" />
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
  <link rel="alternate" type="application/rss+xml"  href="https://quarkus.io/feed.xml" title="Quarkus">
  <script src="https://quarkus.io/assets/javascript/goan.js" type="text/javascript"></script>
  <script src="https://quarkus.io/assets/javascript/hl.js" type="text/javascript"></script>
</head>

<body class="post">
  <!-- Google Tag Manager (noscript) -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJWS5L"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->

  <div class="nav-wrapper">
  <div class="grid-wrapper">
    <div class="width-12-12">
      <input type="checkbox" id="checkbox" />
      <nav id="main-nav" class="main-nav">
  <div class="container">
    <div class="logo-wrapper">
      
        <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_600px_reverse.png" class="project-logo" title="Quarkus"></a>
      
    </div>
    <label class="nav-toggle" for="checkbox">
      <i class="fa fa-bars"></i>
    </label>
    <div id="menu" class="menu">
      <span>
        <a href="/get-started/" class="">Get Started</a>
      </span>
      <span>
        <a href="/guides/" class="">Guides</a>
      </span>
      <span>
        <a href="/community/" class="">Community</a>
      </span>
      <span>
        <a href="/support/" class="">Support</a>
      </span>
      <span>
        <a href="/blog/" class="active">Blog</a>
      </span>
      <span>
        <a href="https://code.quarkus.io" class="button-cta secondary white">Start Coding</a>
      </span>
    </div>
  </div>
      </nav>
    </div>
  </div>
</div>

  <div class="content">
    <div class="post-page grid-wrapper">
  <div class="width-8-12 width-12-12-m doc-content">
    <div class="grid-wrapper">
      <div class="width-12-12">
        <p>
          <a href="/blog"><i class="fas fa-angle-left"></i> Back to all posts</a>
        </p>
      </div>
      <div class="width-12-12">
        <div class="post-date">
          April 27, 2020 
          
            <span class="tags"><a href="/blog/tag/release">#release</a></span>
          
        </div>
        <h1 class="post-title">Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking...</h1>
        <div class="grid-wrapper">
          <div class="width-8-12 width-12-12-m byline-wrapper">
            
            
              <img class="headshot" src="https://www.gravatar.com/avatar/ec96387a1a8295b6fd6dffb68f80c352">
            
            <p class="byline">By Guillaume Smet</p>
          </div>
          <div class="width-12-12">
              <div class="paragraph">
<p>Here comes the time of the month when you get your new Quarkus release: 1.4.1.Final is here.
No 1.4.0.Final, we had to skip it.</p>
</div>
<div class="paragraph">
<p>This version is packed with very nice features and includes tons of improvements and bugfixes:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Command mode</p>
</li>
<li>
<p>HTTP/2</p>
</li>
<li>
<p>New FaaS framework called Funqy</p>
</li>
<li>
<p>Improvements around mocking</p>
</li>
<li>
<p>Keycloak admin client</p>
</li>
<li>
<p>SmallRye Reactive Messaging 2.0</p>
</li>
<li>
<p>MongoDB client 4</p>
</li>
<li>
<p>Amazon Alexa extension</p>
</li>
<li>
<p>LDAP authentication</p>
</li>
<li>
<p>Improvements to the Vault support</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>We also made some nice performance improvements so your Quarkus applications should be faster than ever!</p>
</div>
<div class="sect1">
<h2 id="migration-guide"><a class="anchor" href="#migration-guide"></a>Migration Guide</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Eager to migrate your existing applications? Here is <a href="https://github.com/quarkusio/quarkus/wiki/Migration-Guide-1.4">our migration guide for 1.4</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="whats-new"><a class="anchor" href="#whats-new"></a>What&#8217;s new?</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="java-8-deprecated"><a class="anchor" href="#java-8-deprecated"></a>Java 8 deprecated</h3>
<div class="paragraph">
<p>Building Quarkus applications with Java 8 is now deprecated.
We recommend using Java 11 from now on.</p>
</div>
<div class="paragraph">
<p>We plan to drop Java 8 support for Quarkus 1.6 so in roughly two months.
If you have a strong case for us keeping Java 8 support longer, please reach out to us on our <code>quarkus-dev</code> mailing list.</p>
</div>
</div>
<div class="sect2">
<h3 id="command-mode"><a class="anchor" href="#command-mode"></a>Command mode</h3>
<div class="paragraph">
<p>Until now, Quarkus goodness was reserved to server applications but these times are over!</p>
</div>
<div class="paragraph">
<p>You can now build command line applications with Quarkus using the new command mode.
Find out all about it in <a href="/guides/command-mode-reference">our dedicated reference documentation</a>.</p>
</div>
<div class="paragraph">
<p>Stay tuned, we will publish a specific blog post shortly.</p>
</div>
</div>
<div class="sect2">
<h3 id="http2"><a class="anchor" href="#http2"></a>HTTP/2</h3>
<div class="paragraph">
<p>Quarkus now supports HTTP/2. It is enabled by default but can be disabled by setting <code>quarkus.http.http2</code> to <code>false</code>.</p>
</div>
</div>
<div class="sect2">
<h3 id="new-faas-framework"><a class="anchor" href="#new-faas-framework"></a>New FaaS framework</h3>
<div class="paragraph">
<p>We improved a lot on the function front (namely AWS Lambdas and Azure Functions) with the introduction of a new FaaS framework called Funqy.</p>
</div>
<div class="paragraph">
<p>A blog post will soon explain everything you need to know about Funky but in the meantime, you can refer to the updated documentation:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="/guides/amazon-lambda">Amazon Lambda</a></p>
</li>
<li>
<p><a href="/guides/amazon-lambda-http">Amazon Lambda with RESTEasy, Undertow, or Vert.x Web</a></p>
</li>
<li>
<p><a href="/guides/azure-functions-http">Azure Functions (Serverless) with RESTEasy, Undertow, or Vert.x Web</a></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="improvements-around-mocking"><a class="anchor" href="#improvements-around-mocking"></a>Improvements around mocking</h3>
<div class="paragraph">
<p>Mocking CDI beans is now easier than ever. We also have a nice integration with Mockito.</p>
</div>
<div class="paragraph">
<p>For more information, please refer to our <a href="/guides/getting-started-testing">Testing your application guide</a>.</p>
</div>
<div class="paragraph">
<p>Again, blog post coming soon!</p>
</div>
</div>
<div class="sect2">
<h3 id="mongodb-client-upgrade"><a class="anchor" href="#mongodb-client-upgrade"></a>MongoDB client upgrade</h3>
<div class="paragraph">
<p>The MongoDB client has been upgraded to version 4. This might break a few applications and might require some code updates.</p>
</div>
</div>
<div class="sect2">
<h3 id="vault"><a class="anchor" href="#vault"></a>Vault</h3>
<div class="paragraph">
<p>The default version of the Vault KV Secret Engine is now version 2. You can go back to v1 with some configuration.</p>
</div>
<div class="paragraph">
<p>Support for <a href="/guides/vault#totp">the Vault TOTP engine</a> was added, as well as two new topic guides:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="/guides/vault-auth">Working with HashiCorp Vault’s Authentication</a></p>
</li>
<li>
<p><a href="/guides/vault-datasource">Using HashiCorp Vault with Databases</a></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="new-extensions"><a class="anchor" href="#new-extensions"></a>New extensions</h3>
<div class="sect3">
<h4 id="keycloak-admin-client"><a class="anchor" href="#keycloak-admin-client"></a>Keycloak Admin Client</h4>
<div class="paragraph">
<p>We had some issues with the Keycloak Admin Client in previous versions.</p>
</div>
<div class="paragraph">
<p>We added a dedicated extension called <code>quarkus-keycloak-admin-client</code> to ensure a smooth experience.</p>
</div>
</div>
<div class="sect3">
<h4 id="amazon-alexa"><a class="anchor" href="#amazon-alexa"></a>Amazon Alexa</h4>
<div class="paragraph">
<p>Amazon Alexa is now supported in native thanks to the addition of the <code>quarkus-amazon-alexa</code> extension.</p>
</div>
</div>
<div class="sect3">
<h4 id="ldap-authentication"><a class="anchor" href="#ldap-authentication"></a>LDAP authentication</h4>
<div class="paragraph">
<p>We added LDAP to the list of authentication stores supported out of the box by Quarkus.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="and-more"><a class="anchor" href="#and-more"></a>And more&#8230;&#8203;</h3>
<div class="ulist">
<ul>
<li>
<p>SmallRye Reactive Messaging has been updated to 2.0.</p>
</li>
<li>
<p>A lot of component upgrades, bugfixes and small improvements.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="full-changelog"><a class="anchor" href="#full-changelog"></a>Full changelog</h3>
<div class="paragraph">
<p>You can get the full changelogs of <a href="https://github.com/quarkusio/quarkus/releases/tag/1.4.0.CR1">1.4.0.CR1</a>, <a href="https://github.com/quarkusio/quarkus/releases/tag/1.4.0.Final">1.4.0.Final</a> and <a href="https://github.com/quarkusio/quarkus/releases/tag/1.4.1.Final">1.4.1.Final</a> on GitHub.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="adopters-md"><a class="anchor" href="#adopters-md"></a>ADOPTERS.md</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To share stories about Quarkus usage, we added <a href="https://github.com/quarkusio/quarkus/blob/master/ADOPTERS.md">an <code>ADOPTERS.md</code> file</a> at the root of the repository.</p>
</div>
<div class="paragraph">
<p>If you are using Quarkus and would like to be interviewed on our blog or simply added to this file, please contact us and we will be happy to oblige.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="contributors"><a class="anchor" href="#contributors"></a>Contributors</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Quarkus community is growing and has now <a href="https://github.com/quarkusio/quarkus/graphs/contributors">269 contributors</a>.
Many many thanks to each and everyone of them.</p>
</div>
<div class="paragraph">
<p>In particular for the 1.4 release, thanks to Aaron Rogers, Adrian, Adrian Fiedler, Akito Kidani, Alex Soto, Alexander Schwartz, Alexey Loubyansky, Andrej Petras, András Péteri, Andy Damevin, Antoine Sabot-Durand, Antonio Goncalves, Aurea Munoz, Bartosz Firyn, Bill Burke, Cem Nura, Clement Escoffier, Daniel Petisme, Daniel Wamara, Daniel Platz, David M. Lloyd, Emmanuel Bernard, Erik Mattheis, Falko Modler, Felix Wong, Galder Zamarreño, Geoffrey De Smet, George Doenlen, George Gastaldi, Georgios Andrianakis, Guillaume Le Floch, Guillaume Smet, Gwenneg Lepage, Gytis Trikleris, Harold Sun, Harsha R, Ioannis Canellos, Jaikiran Pai, Jan Martiska, Jason T. Greene, Jesper Skov, Jiri Ondrusek, Johan Westerlund, John O&#8217;Hara, Jonas Scholz, Jordan Moore, Jozef Hartinger, Julian Cui, Justin Holmes, Ken Finnigan, Ladislav Thon, Loïc Mathieu, Luis F Munoz, Manyanda Chitimbo, Marc Boissonneault, Mario Fusco, Marius Ileana, Martin Kouba, Martin Panzer, Matej Novotny, Matej Vasek, Matthias Andreas Benkard, Matthias Harter, Mattia, Max Rydahl Andersen, Mayank Kunwar, Michał Szynkiewicz, oscarfh, Pavol Loffay, Pedro Igor, Peter Palaga, Petr Nehyba, Phillip Kruger, Robbie Gemmell, Robert Marcano, Roberto Cortez, Rohan Maity, Rostislav Svoboda, Sanne Grinovero, Sebastian Daschner, Sebastien Dionne, Sergey Beryozkin, Stuart Douglas, Stéphane Épardaud, Timothy Power, Tobias Liese, Tobias Stadler, Tomaz Cerar, Vincent Sevel, Vincent Sourin, Vinícius Ferraz Campos Florentino, William Burns and Yoann Rodière.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="come-join-us"><a class="anchor" href="#come-join-us"></a>Come Join Us</h2>
<div class="sectionbody">
<div class="paragraph">
<p>We value your feedback a lot so please report bugs, ask for improvements&#8230;&#8203; Let&#8217;s build something great together!</p>
</div>
<div class="paragraph">
<p>If you are a Quarkus user or just curious, don&#8217;t be shy and join our welcoming community:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>provide feedback on <a href="https://github.com/quarkusio/quarkus/issues">GitHub</a>;</p>
</li>
<li>
<p>craft some code and <a href="https://github.com/quarkusio/quarkus/pulls">push a PR</a>;</p>
</li>
<li>
<p>discuss with us on <a href="https://quarkusio.zulipchat.com/">Zulip</a> and on the <a href="https://groups.google.com/d/forum/quarkus-dev">mailing list</a>;</p>
</li>
<li>
<p>ask your questions on <a href="https://stackoverflow.com/questions/tagged/quarkus">Stack Overflow</a>.</p>
</li>
</ul>
</div>
</div>
</div>
              
          </div>
          <div class="width-12-12"><div class="share-page">
  <a class="share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://quarkus.io/blog/quarkus-1-4-final-released/&title=Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking..." rel="nofollow" target="_blank" title="Share on LinkedIn">
    <img src="/assets/images/share-page/icons_social-linkedin.png"/>
  </a>
  <a class="share-twitter" href="https://twitter.com/intent/tweet?text=Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking...&url=https://quarkus.io/blog/quarkus-1-4-final-released/&via=quarkusio&related=quarkusio" rel="nofollow" target="_blank" title="Share on Twitter">
    <img src="/assets/images/share-page/icons_social-twitter.png"/>
  </a>
  <a class="share-facebook" href="https://facebook.com/sharer.php?u=https://quarkus.io/blog/quarkus-1-4-final-released/" rel="nofollow" target="_blank" title="Share on Facebook">
    <img src="/assets/images/share-page/icons_social-facebook.png"/>
  </a>
  <a class="share-reddit" href="http://www.reddit.com/submit?url=https://quarkus.io/blog/quarkus-1-4-final-released/" onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=900,height=500,toolbar=1,resizable=0'); return false;" title="Share on Reddit" >
    <img src="/assets/images/share-page/icons_social-reddit.png"/>
  </a>
  <a class="share-email" href="mailto:?subject=Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking...&amp;body=Quarkus 1.4 released - Command mode, HTTP 2, New FaaS framework, Mocking... https://quarkus.io/blog/quarkus-1-4-final-released/" title="Share via Email" >
    <img src="/assets/images/share-page/icons_social-email.png"/>
  </a>
</div>
</div>
        </div>
      </div>
    </div>
  </div>
</div>

  </div>

  <div class="content project-footer">
  <div class="footer-section">
    <div class="logo-wrapper">
      <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_reverse.svg" class="project-logo" title="Quarkus"></a>
    </div>
  </div>
  <div class="grid-wrapper">
    <p class="grid__item width-3-12">Quarkus is open. All dependencies of this project are available under the <a href='https://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache Software License 2.0</a> or compatible license.<br /><br />This website was built with <a href='https://jekyllrb.com/' target='_blank'>Jekyll</a>, is hosted on <a href='https://pages.github.com/' target='_blank'>Github Pages</a> and is completely open source. If you want to make it better, <a href='https://github.com/quarkusio/quarkusio.github.io' target='_blank'>fork the website</a> and show us what you’ve got.</p>

    
      <div class="width-1-12 project-links">
        <span>Navigation</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="/">Home</a></li>
          
            <li><a href="/guides">Guides</a></li>
          
            <li><a href="/community/#contributing">Contribute</a></li>
          
            <li><a href="/faq">FAQ</a></li>
          
            <li><a href="/get-started">Get Started</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Contribute</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://twitter.com/quarkusio">Follow us</a></li>
          
            <li><a href="https://github.com/quarkusio">GitHub</a></li>
          
            <li><a href="/security">Security&nbsp;policy</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Get Help</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://groups.google.com/forum/#!forum/quarkus-dev">Forums</a></li>
          
            <li><a href="https://quarkusio.zulipchat.com">Chatroom</a></li>
          
        </ul>
      </div>
    

    
      <div class="width-3-12 more-links">
        <span>Quarkus is made of community projects</span>
        <ul class="footer-links">
          
            <li><a href="https://vertx.io/" target="_blank">Eclipse Vert.x</a></li>
          
            <li><a href="https://microprofile.io" target="_blank">Eclipse MicroProfile</a></li>
          
            <li><a href="https://hibernate.org" target="_blank">Hibernate</a></li>
          
            <li><a href="https://netty.io" target="_blank">Netty</a></li>
          
            <li><a href="https://resteasy.github.io" target="_blank">RESTEasy</a></li>
          
            <li><a href="https://camel.apache.org" target="_blank">Apache Camel</a></li>
          
            <li><a href="https://code.quarkus.io/" target="_blank">And many more...</a></li>
          
        </ul>
      </div>
    
  </div>
</div>
  <div class="content redhat-footer">
  <div class="grid-wrapper">
    <span class="licence">
      <i class="fab fa-creative-commons"></i><i class="fab fa-creative-commons-by"></i> <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC by 3.0</a> | <a href="https://www.redhat.com/en/about/privacy-policy">Privacy Policy</a>
    </span>
    <span class="redhat">
      Sponsored by
    </span>
    <span class="redhat-logo">
      <a href="https://www.redhat.com/" target="_blank"><img src="/assets/images/redhat_reversed.svg"></a>
    </span>
  </div>
</div>


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
  <script type="text/javascript" src="/assets/javascript/mobile-nav.js"></script>
  <script type="text/javascript" src="/assets/javascript/scroll-down.js"></script>
  <script src="/assets/javascript/satellite.js" type="text/javascript"></script>
  <script src="https://quarkus.io/guides/javascript/config.js" type="text/javascript"></script>
  <script src="/assets/javascript/search-filter.js" type="text/javascript"></script>
  <script src="/assets/javascript/back-to-top.js" type="text/javascript"></script>
</body>

</html>
